load("@fbsource//tools/build_defs:rust_binary.bzl", "rust_binary")

oncall("scm_server_infra")

rust_binary(
    name = "repo_import",
    srcs = glob(["src/**/*.rs"]),
    test_deps = [
        "fbsource//third-party/rust:ascii",
        "fbsource//third-party/rust:tokio",
        "//common/rust/shed/cached_config:cached_config",
        "//common/rust/shed/fbinit:fbinit-tokio",
        "//eden/mononoke/blobstore:blobstore",
        "//eden/mononoke/derived_data:derived_data_manager",
        "//eden/mononoke/git/git_types:git_types",
        "//eden/mononoke/mononoke_macros:mononoke_macros",
        "//eden/mononoke/repo_factory:test_repo_factory",
        "//eden/mononoke/tests/utils:tests_utils",
    ],
    deps = [
        "fbsource//third-party/rust:anyhow",
        "fbsource//third-party/rust:clap",
        "fbsource//third-party/rust:futures",
        "fbsource//third-party/rust:gix-hash",
        "fbsource//third-party/rust:itertools",
        "fbsource//third-party/rust:maplit",
        "fbsource//third-party/rust:serde",
        "fbsource//third-party/rust:serde_json",
        "fbsource//third-party/rust:tokio",
        "fbsource//third-party/rust:tracing",
        "//common/rust/shed/borrowed:borrowed",
        "//common/rust/shed/facet:facet",
        "//common/rust/shed/fbinit:fbinit",
        "//eden/mononoke/blobstore:blobstore",
        "//eden/mononoke/cmdlib:cmdlib_cross_repo",
        "//eden/mononoke/cmdlib:environment",
        "//eden/mononoke/cmdlib/mononoke_app:mononoke_app",
        "//eden/mononoke/common/topo_sort:topo_sort",
        "//eden/mononoke/derived_data:bulk_derivation",
        "//eden/mononoke/derived_data/mercurial_derivation:mercurial_derivation",
        "//eden/mononoke/features/changesets_creation:changesets_creation",
        "//eden/mononoke/features/commit_rewriting/backsyncer:backsyncer",
        "//eden/mononoke/features/commit_rewriting/live_commit_sync_config:live_commit_sync_config",
        "//eden/mononoke/features/commit_rewriting/movers:movers",
        "//eden/mononoke/features/commit_rewriting/synced_commit_mapping:synced_commit_mapping",
        "//eden/mononoke/features/cross_repo_sync:cross_repo_sync",
        "//eden/mononoke/features/pushrebase:pushrebase",
        "//eden/mononoke/git/import_direct:import_direct",
        "//eden/mononoke/git/import_tools:import_tools",
        "//eden/mononoke/manifest:manifest",
        "//eden/mononoke/megarepo_api:pushredirect",
        "//eden/mononoke/mercurial:mercurial_types",
        "//eden/mononoke/metaconfig:metaconfig_parser",
        "//eden/mononoke/metaconfig:metaconfig_types",
        "//eden/mononoke/mononoke_types:mononoke_types",
        "//eden/mononoke/repo_attributes/bonsai_git_mapping:bonsai_git_mapping",
        "//eden/mononoke/repo_attributes/bonsai_globalrev_mapping:bonsai_globalrev_mapping",
        "//eden/mononoke/repo_attributes/bonsai_hg_mapping:bonsai_hg_mapping",
        "//eden/mononoke/repo_attributes/bonsai_tag_mapping:bonsai_tag_mapping",
        "//eden/mononoke/repo_attributes/bookmarks:bookmarks",
        "//eden/mononoke/repo_attributes/bookmarks/bookmarks_movement:bookmarks_movement",
        "//eden/mononoke/repo_attributes/commit_graph/commit_graph:commit_graph",
        "//eden/mononoke/repo_attributes/filenodes:filenodes",
        "//eden/mononoke/repo_attributes/filestore:filestore",
        "//eden/mononoke/repo_attributes/git_ref_content_mapping:git_ref_content_mapping",
        "//eden/mononoke/repo_attributes/git_source_of_truth:git_source_of_truth",
        "//eden/mononoke/repo_attributes/mutable_counters:mutable_counters",
        "//eden/mononoke/repo_attributes/phases:phases",
        "//eden/mononoke/repo_attributes/pushrebase_mutation_mapping:pushrebase_mutation_mapping",
        "//eden/mononoke/repo_attributes/repo_blobstore:repo_blobstore",
        "//eden/mononoke/repo_attributes/repo_bookmark_attrs:repo_bookmark_attrs",
        "//eden/mononoke/repo_attributes/repo_cross_repo:repo_cross_repo",
        "//eden/mononoke/repo_attributes/repo_derived_data:repo_derived_data",
        "//eden/mononoke/repo_attributes/repo_identity:repo_identity",
        "//eden/mononoke/repo_attributes/sql_query_config:sql_query_config",
        "//eden/mononoke/server/context:context",
        "//eden/mononoke/wireproto_handler:wireproto_handler",
    ],
)
